package cAplicationLayer;

import java.net.MalformedURLException;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.util.Vector;

import biblioteca.Mensaje;
import remoteobs.RemoteObserver;
import cGUI.VentanaAdmin;
import cGUI.VentanaPrincipal;


public class ControlerAvisos extends RemoteObserver
{
    
    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private VentanaPrincipal vP;
    private VentanaAdmin vA;
    private ClienteRMI cRMI;
    
    public ControlerAvisos(Object arg) throws MalformedURLException, NotBoundException, RemoteException
    {
        super();
        cRMI=ClienteRMI.getInstance();
        if(arg instanceof VentanaPrincipal)
        {
        	this.vP = (VentanaPrincipal) arg;
        	cRMI.cargarVentanaObserver(this);
        }
               
        
    }
    
    public void update(Object arg)
    {
    	vP.insertarNoticia(arg.toString());
    }
    
    public Vector cargarNoticias() throws RemoteException
    {
        return cRMI.cargarNoticia();
    }
    
    public void insertarNoticia(String noticia) 
    {
       	try
       	{
			cRMI.insertarNoticia(noticia);
		} 
       	
       	catch (RemoteException e)
       	{
			e.printStackTrace();
		}
    }
   
    public void limpiarNoticias() 
	{
		try 
		{
			cRMI.limpiarNoticias();
		} 
		
		catch (RemoteException e) 
		{
			e.printStackTrace();
		}
		
	}
    
    public Mensaje cargarMensaje(Mensaje m)
    {
    	try 
		{
    		return cRMI.cargarMensaje(m);
		} 
		
		catch (RemoteException e) 
		{
			e.printStackTrace();
		}
		return null;
	}
    
    public void finalizar() throws RemoteException
    {
        try 
		{
        	cRMI.finalizar(this);
		} 
		
		catch (RemoteException e) 
		{
			e.printStackTrace();
		}
    }

	

	
                
}
	
	
	
	
	
	
	

